import java.util.HashMap;
import java.util.Scanner;

public class Test {
    /**
     * 【乒乓球筐】nowcoder有两盒（A、B）乒乓球，有红双喜的、有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类，并且每种球的数量不少于B盒中的
     * 数量，该怎么办呢？
     * 每一组输入对应一行输出：如果B盒中所有球的类型在A中都有，并且每种球的数量都不大于A，则输出“Yes”；否则输出“No”。
     * 输入：ABCDFYE CDE
     *      ABCDGEAS CDECDE
     * 输出：Yes
     *      No
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            String[] strArr = scanner.nextLine().split(" ");
            String strA = strArr[0];
            String strB = strArr[1];

            //String strA = scanner.nextLine();
            //String strB = scanner.nextLine();

            char[] chA = strA.toCharArray();
            char[] chB = strB.toCharArray();

            HashMap<Character, Integer> mapA = new HashMap<>();
            HashMap<Character, Integer> mapB = new HashMap<>();

            for (char ch : chA) {
                if(mapA.containsKey(ch)){
                    mapA.put(ch, mapA.get(ch) + 1);
                }else{
                    mapA.put(ch, 1);
                }
            }
            for (char ch : chB) {
                if(mapB.containsKey(ch)){
                    mapB.put(ch, mapB.get(ch) + 1);
                }else{
                    mapB.put(ch, 1);
                }
            }
            boolean ret = true;
            for (char ch : chB) {
                if(!mapA.containsKey(ch) || mapA.get(ch) < mapB.get(ch)){
                    ret = false;
                    break;
                }
            }
            if(ret){
                System.out.println("Yes");
            }else{
                System.out.println("No");
            }
        }
    }
}
